listitemwidget: Claim gesture when activating
authorMatthias Clasen <mclasen@redhat.com>
Sun, 13 Jun 2021 12:03:39 +0000 (08:03 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 13 Jun 2021 12:03:39 +0000 (08:03 -0400)
Claim the gesture when we are activating a list item.

Otherwise we end up with double activations in
columnviews: first GtkColumnViewCell handles
the event, and then GtkListItemWidget handles
it again.

Fixes: #4015
gtk/gtklistitemwidget.c

index bbf56b72934eab04ccf825cbb5fa286aafb88091..0c9baea963c56808a09bccbd164d04e9973340f5 100644 (file)
@@ -334,6 +334,7 @@ gtk_list_item_widget_click_gesture_pressed (GtkGestureClick   *gesture,
     {
       if (n_press == 2 && !priv->single_click_activate)
         {
+          gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
           gtk_widget_activate_action (GTK_WIDGET (self),
                                       "list.activate-item",
                                       "u",
@@ -360,6 +361,7 @@ gtk_list_item_widget_click_gesture_released (GtkGestureClick   *gesture,
     {
       if (n_press == 1 && priv->single_click_activate)
         {
+          gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
           gtk_widget_activate_action (GTK_WIDGET (self),
                                       "list.activate-item",
                                       "u",